<?php
  class ConexionDB {
    var $link = false;
    var $estado = false;
    var $sql = '';
    var $result = null;
    var $linea = null;

    function ConexionDB($server="localhost",$basedatos="obligatoriopw",$user="obligatorio",$pass="obligatorio") {
      if ($this->link=mysql_connect("$server","$user","$pass")) {
        if (mysql_select_db("$basedatos",$this->link)){
        	//Marco que me conecté
        	$this->estado=true;
        	}
    	else {
    		//Marco que no me conecté
    		$this->estado=false;
    		}
      }
      else {
   		//Marco que no me conecté
      	$this->estado=false;
      	}
    }

	//Tamano : retorna la cantidad de lineas de la consulta
    function Tamano() {
	  return mysql_num_rows($this->result);
	}

	//Siguiente : Obtengo el próximo registro
    function Siguiente () {
      //Si se ejecutó una consulta
      if ($this->result <> null) {
      	//Obtengo y retorno la próxima linea
	    $this->linea = mysql_fetch_array($this->result);
		$retorno=$this->linea;
	  	}
      else {
      	$retorno=null;
      	}
      return $retorno;
    }

	//Libero : libero los recursos de la consulta y cierro la conexión
    function Libero() {
      if ($this->result <> null) {
      	mysql_free_result($this->result);
      	}
      mysql_close($this->link);
    }

	//Ejecuto : la sql recibida contra la conexión establecida
    function Ejecuto($sql = '') {
        //Guardo la sql recibida
	  if ($sql <> '') {
	  	$this->sql = $sql;
	  	}
	  //Ejecuto la consulta sobre la conexión establecida
      $this->result = mysql_query($this->sql,$this->link);
      
      if ( $this->result == false ){
          throw new Exception(mysql_error());
      }
      return $this->result;
    }

    //Dato : Obtiene la info de un campo en particular
    function Dato($campo = '') {
      //Si hay una consulta que fue ejecutada
      if ($this->result <> null) {
      	//Si no tengo una linea obtenida mediante Siguiente, la obtengo
        if ($this->linea == null) {
        	$this->linea = mysql_fetch_array($this->result);
        	}
        $retorno=$this->linea["$campo"];
      	}
      else {
      	$retorno = "";
      	}
      return $retorno;
    }

    //UltimoID : Funcion que retorna el ultimo autogenerado por un INSERT
    function UltimoID() {
	  return mysql_insert_id($this->link);
    }
  }
?>
